The World Wide Web has expanded to provide numerous web services to consumers. The web services may be provided by a web application which uses multiple services and applications to handle a transaction. The applications may be distributed over several machines, making the topology of the machines that provide the service more difficult to track and monitor.
Monitoring a web application helps to provide insight regarding bottle necks in communication, communication failures and other information regarding performance of the services that provide the web application. Most application monitoring tools provide a standard report regarding application performance. When an application health is determined to have degraded, actions are often taken to correct the application such as apply updates or restart, or sometimes stop the application.
Customers who have applications monitored will need to perform lifecycle tasks on their applications. The applications routinely need to be restarted, configured, modified, and otherwise process as part of their normal lifecycle. With modern distributed web services having dozens, hundreds or even thousands of applications and nodes, it can be extremely time-consuming to manually perform lifecycle management on these applications. Further, when these applications have different protocols or platforms, it makes the lifecycle management process that much more complicated. What is needed is a system for managing application lifecycle deployment.